/**
 * 简单的 Bun 示例
 * 
 * 这个示例展示了如何使用 Bun 运行一个简单的 TypeScript 程序，
 * 不依赖于 ProtoActor 框架或任何原生模块。
 * 
 * 运行方法:
 * ```
 * bun run examples/bun-hello.ts
 * ```
 */

// 简单的消息处理类
class MessageHandler {
  private messages: string[] = [];
  
  // 添加消息
  addMessage(message: string): void {
    this.messages.push(message);
    console.log(`添加消息: ${message}`);
  }
  
  // 获取所有消息
  getMessages(): string[] {
    return this.messages;
  }
  
  // 清空消息
  clearMessages(): void {
    this.messages = [];
    console.log('已清空所有消息');
  }
}

// 主函数
async function main() {
  console.log('==============================');
  console.log('|    Bun 运行时示例演示      |');
  console.log('==============================');
  
  // 创建消息处理器
  const handler = new MessageHandler();
  
  // 添加一些消息
  handler.addMessage('你好，Bun!');
  handler.addMessage('Bun 是一个现代化的 JavaScript 运行时');
  handler.addMessage('它比 Node.js 速度更快');
  
  // 显示所有消息
  console.log('\n所有消息:');
  const messages = handler.getMessages();
  messages.forEach((msg, index) => {
    console.log(`${index + 1}. ${msg}`);
  });
  
  // 展示 Bun 的特性
  console.log('\nBun 运行时信息:');
  
  // 检查是否在 Bun 环境中运行
  const isBun = typeof process !== 'undefined' && 
                process.versions && 
                'bun' in process.versions;
  
  if (isBun) {
    console.log('✅ 当前在 Bun 环境中运行!');
    if (process.versions.bun) {
      console.log(`🚀 Bun 版本: ${process.versions.bun}`);
    }
  } else {
    console.log('❌ 当前不是在 Bun 环境中运行');
    console.log('🔍 当前环境: Node.js 或其他 JavaScript 运行时');
  }
  
  // 清空消息
  handler.clearMessages();
  
  // 结束
  console.log('\n示例完成!');
}

// 运行主函数
main().catch(error => {
  console.error('运行出错:', error);
}); 